package com.fsi.client;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("service")
public interface ApplicationService extends RemoteService {

	LoginInfo login(String requestUri);

	List<Customer> listCustomers() throws FSIException;

	void addNewCustomer(Customer customer) throws FSIException;

	void deleteCustomer(Customer customer) throws FSIException;

	boolean findCustomerByName(String name);

	void testMethod() throws FSIException;

	void checkLoggedIn() throws FSIException;

	Customer getCustomerByEmail(String emailAddress);

	Customer updateCustomerDetails(Customer customer, int updateType);

	List<Shuttle> getPhotos(String customerID);

	void deletePhoto(String customerID, String photoID);

	void logClientMsg(String msg);
}
